home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Graphics / Viewers / aa_m68k_Intel_Only / ToyViewer1.2 / Source / strfunc.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-12  |  665 b   |  44 lines

  1. #include  <stdio.h>
  2. #include  <string.h>
  3. #include  <libc.h>
  4.  
  5. char *str_dup(const char *src)
  6. {
  7.     char *dst;
  8.  
  9.     dst = (char *)malloc(strlen(src) + 1);
  10.     strcpy(dst, src);
  11.     return dst;
  12. }
  13.  
  14.  
  15. int dircopy(char *dst, const char *src, int slash)
  16.     /* copy directory part of file path */
  17. {
  18.     int i, n;
  19.  
  20.     for (i = 0, n = -1; src[i]; i++) {
  21.         dst[i] = src[i];
  22.         if (src[i] == '/') n = i;
  23.     }
  24.     if (n >= 0) {
  25.         if (slash) ++n;
  26.         dst[n] = 0;
  27.     }
  28.     return n;
  29. }
  30.  
  31.  
  32. int getExtension(char const *fn)
  33. {
  34.     int i, j;
  35.  
  36.     for (i = 0, j = -1; fn[i]; i++) {
  37.         if (fn[i] == '.') j = i;
  38.         else if (fn[i] == '/') j = -1;
  39.     }
  40.     if (j <= 0 || fn[j - 1] == '/')
  41.         return 0;    /* No Extension */
  42.     return j + 1;
  43. }
  44.